Update Session From Wallet
This operation retrieves the payer's payment details associated with a wallet interaction.
The retrieved payment details are stored against the payment session identified in the request.
Authentication
This operation requires authentication via one of the following methods:
- Certificate authentication.
-
Basic HTTP authentication as described at
w3.org.
Provide 'merchant.
<your gateway merchant ID>
' in the userid portion and your API password in the password portion.
Request
URL Parameters
Alphanumeric + additional characters
REQUIRED
The unique identifier issued to you by your payment provider.
This identifier can be up to 12 characters in length.
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
Min length: 1 Max length: 40ASCII Text
REQUIRED
The identifier of the payment session.
Data consists of ASCII characters
Min length: 31 Max length: 35Fields
String
= UPDATE_SESSION_FROM_WALLET
FIXED
Any sequence of zero or more unicode characters.
String
OPTIONAL
A transient identifier for the request, that can be used to match the response to the request.
The value provided is not validated, does not persist in the gateway, and is returned as provided in the response to the request.
Data can consist of any characters
ASCII Text
OPTIONAL
Use this field to implement optimistic locking of the session content.
Do this if you make business decisions based on data from the session and wish to ensure that the same data is being used for the request operation.
To use optimistic locking, record session.version when you make your decisions, and then pass that value in session.version when you submit your request operation to the gateway.
If session.version provided by you does not match that stored against the session, the gateway will reject the operation with error.cause=INVALID_REQUEST.
See Making Business Decisions Based on Session Content.
Data consists of ASCII characters
Response
Fields
CONDITIONAL
Information about how the payer's identity is verified.
For example, using 3-D Secure authentication.
This parameter group include payer authentication options available to you, parameters you need to perform payer authentication for an available method, and the results of payer authentication.
CONDITIONAL
Information about payer authentication using 3-D Secure authentication.
Only provide these fields if you authenticated the payer using a different 3-D Secure service provider. If you authenticated the payer using the gateway, then provide authentication.transactionId instead.
Parameters in this group apply to both 3-D Secure authentication version 1 and 3-D Secure Authentication version 2.
Depending on the 3-D Secure authentication version applicable you will also need additional parameters:
- 3-D Secure authentication version 1: see the authentication.3ds1 parameter group.
- 3-D Secure authentication version 2: see the authentication.3ds2 parameter group.
Alphanumeric
CONDITIONAL
Indicates the security level of the transaction.
This is the Electronic Commerce Indicator (ECI) value provided by the issuer's Access Control Server (ACS) to indicate the results of the attempt to authenticate the payer.
Data may consist of the characters 0-9, a-z, A-Z
Base64
CONDITIONAL
The base64 encoded value generated by the issuer.
The authentication token Included in subsequent transaction request messages and used by the card scheme to verify that the authentication occurred and the values provided are valid. The token should be used unaltered.
For 3DS version 1, this field corresponds to the Cardholder Authentication Verification Value (CAVV) for Visa, the Accountholder Authentication Value (AAV) for MasterCard and JCB, or the American Express Verification Value (AEVV) for American Express.
For 3DS version 2, this field corresponds to the Authentication Value.
Data is Base64 encoded
String
CONDITIONAL
A unique identifier for the 3-D Secure authentication transaction.
For 3DS version 1, this field corresponds to the XID. The XID is an identifier generated by the gateway on behalf of the merchant.
For 3DS version 2, this field corresponds to the identifier assigned by the scheme directory server.
This identifier should be used in subsequent operation requests unaltered.
An XID submitted in this field must be in base64 format.
Data can consist of any characters
CONDITIONAL
Information about payer authentication using 3-D Secure authentication version 1.
Only provide these fields if you authenticated the payer using a different 3-D Secure service provider. If you authenticated the payer using the gateway, then provide authentication.transactionId instead.
Alpha
CONDITIONAL
Indicates the result of payer authentication with the issuer.
This is the value returned in the transaction status field of the Payer Authentication Response (PARes) message from the card Issuer's Access Control Server (ACS). For example, Y, N, A, or U. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.
Data may consist of the characters a-z, A-Z
Alpha
CONDITIONAL
Indicates whether or not payer authentication is available for the card number you provided.
This is for experts only - most users should use the response.gatewayRecommendation field.
This is the value returned in the 'enrolled' field of the Verify Enrollment Response (VERes) message from the card scheme's Directory Server. For example, Y, N, or U. Refer to the relevant documentation for Mastercard SecureCode™, Verified by Visa™, JCB J/Secure™, American Express SafeKey™, or Diners Club ProtectBuy™.
Data may consist of the characters a-z, A-Z
CONDITIONAL
Information about payer authentication using 3-D Secure authentication version 2.
Alphanumeric + additional characters
CONDITIONAL
The version of the EMV 3-D Secure protocol used to perform 3-D Secure authentication, in the format specified by EMVCo.
For example, 2.1.0
Data may consist of the characters 0-9, a-z, A-Z, '.'
CONDITIONAL
Information provided by the 3-D Secure Software Development Kit (SDK) that is used by an app on the payer's device to enable 3-D Secure authentication of the payer to be performed in-app.
You must populate the fields in this parameter group when you authenticate the payer in-app using 3-D Secure authentication version 2.
String
CONDITIONAL
A unique identifier for the app on the payer's device.
The 3-D Secure SDK generates this identifier each time the app is installed or updated.
This field corresponds to EMVCo field sdkAppID
Data can consist of any characters
String
CONDITIONAL
Information about the payer's device collected and encrypted by the 3-D Secure SDK.
The data is a JSON Web Encryption (JWE) object in JSON format. When using the REST/JSON gateway API, express this as a JSON string (i.e. the embedded quotes will be escaped).
This field corresponds to EMVCo field sdkEncData
Data can consist of any characters
JSON Text
CONDITIONAL
A public key generated by the 3-D Secure SDK.
This key is used to establish a secure session between the 3DS SDK and the issuer's Access Control Server (ACS) when the payer is required to be presented with an authentication challenge.
The key is a JSON Web Key (JWK) object in JSON format. When using the REST/JSON gateway API, express this as a JSON string (i.e the embedded quotes will be escaped).
This field corresponds to EMVCo field sdkEphemPubKey
Data is valid Json Format
Enumeration
CONDITIONAL
The User Interface (UI) formats that the payer's device supports.
These are the formats that can be used to render the screens presented to the payer during an authentication challenge.
You only need to provide this value if you only support one of these formats.
This field corresponds to EMVCo data element sdkInterface in the field deviceRenderOptions.
Value must be a member of the following list. The values are case sensitive.
HTML
The device supports HTML format.
NATIVE
The device supports the UI format native to the payer's device.
String
CONDITIONAL
An identifier of the vendor and version of the 3-D Secure SDK assigned by EMVCo.
This field corresponds to EMVCo field sdkReferenceNumber
Data can consist of any characters
Integer
CONDITIONAL
The duration (in seconds) available to the payer to authenticate.
Will default to 900 if not provided. Note: The value will be rounded up to the nearest minute.
This field corresponds to EMVCo field sdkMaxTimeout
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
String
CONDITIONAL
A unique identifier assigned by the 3-D Secure SDK for the transaction.
This field corresponds to EMVCo field sdkTransID
Data can consist of any characters
Comma separated enumeration
CONDITIONAL
Indicates the UI types which the SDK supports for displaying authentication challenges within the app.
A comma separated list of the payer authentication methods that you will accept for this payment.
You only need to provide this value if all of these values are not supported.
Note: OTHER_HTML is only supported when authentication.3ds2.sdk.interface allows a HTML UI format.
This field corresponds to EMVCo data element sdkUiType in the field deviceRenderOptions.
Value must be one or more comma separated members of the following list. The values are case sensitive.
TEXT
The payer is asked to enter text into a field displayed on the UI. For example, ask the payer to enter a One Time Password sent to their registered mobile phone number.
SINGLE_SELECT
The payer is asked to select a single option from a number of presented options. For example, ask the payer if they want a One Time Password to be sent to either their email address or mobile phone number registered with their issuer.
MULTI_SELECT
The payer is asked to select multiple options from a number of presented options. For example, ask the payer to select valid responses to a question.
OUT_OF_BAND
The payer is presented with screens rendered by an out-of-band service during an authentication challenge, For example, the payer is asked to confirm the payment from their banking app.
OTHER_HTML
The payer is presented with an authentication challenge using other mechanisms supported in HTML but not in the native UI format. For example, the payer is asked to confirm an image presented on the screen.
String
CONDITIONAL
A code indicating the reason for the transaction status returned in authentication.3ds2.transactionStatus.
Refer to the EMVCo specification for 3-D Secure.
Data can consist of any characters
Alpha
CONDITIONAL
Indicates the result of payer authentication with the issuer.
This is the value returned in the transaction status field from the issuer's Access Control Server (ACS). For example, Y, N, U, A, R
Refer to the EMVCo specification for 3-D Secure.
Data may consist of the characters a-z, A-Z
Comma Separated Enumeration
CONDITIONAL
A comma separated list of the payer authentication methods that you will accept for this payment.
You only need to provide a value if you want to restrict the authentication methods you will accept.
If you do not specify a value, then the gateway treats it as if you will accept all available authentication methods.
If you accept both 3DS2 and 3DS1, then the gateway will use 3-D Secure version 2 if supported by the issuer and fallback to use 3-D Secure version 1 if it is not.
Value must be one or more comma separated members of the following list. The values are case sensitive.
3DS1
3-D Secure Version 1
3DS2
3-D Secure Version 2
Enumeration
CONDITIONAL
Indicates if you want the payer to be presented with an authentication challenge for this transaction.
You can use this to support local mandates or your risk tolerance. For example, you may prefer that a challenge is always performed when you store card details on file.
If you do not provide a value, the gateway will use NO_PREFERENCE. If there is no payer present (for example, recurring payments), then the gateway will ignore this field and use NO_CHALLENGE.
Note: 'challenge' means requiring the payer to take action to identify themselves, for example, entering a password.
Value must be a member of the following list. The values are case sensitive.
CHALLENGE_MANDATED
The merchant requires that the payer is presented with an authentication challenge.
CHALLENGE_PREFERRED
The merchant prefers that the payer is presented with an authentication challenge.
NO_CHALLENGE
The merchant prefers that the payer is not presented with an authentication challenge.
NO_PREFERENCE
The issuer determines whether or not the payer should be presented with an authentication challenge. The merchant does not have a preference.
REQUEST_WHITELISTING
Tells the issuer that you prefer them to present the payer with a challenge and that you want them to invite the payer to add you to their list of trusted merchants. If the payer whitelists you, they can skip authentication for any future payments. You will be able to tell whether the payer has added you to their list of trusted merchants by looking at authentication.psd2.whitelistStatus in the authentication response following the completion of the challenge.
Enumeration
CONDITIONAL
Indicates the channel in which the authentication request is being initiated.
Value must be a member of the following list. The values are case sensitive.
MERCHANT_REQUESTED
The merchant is requesting authentication of a cardholder without the payer being available for interaction (for example. as part of processing of a recurring payment).
PAYER_APP
Payer is interacting via an application on their device which uses an EMVCo-certified SDK.
PAYER_BROWSER
Payer is interacting via web browser (for example, with the merchant's ecommerce web-site).
String
CONDITIONAL
Description of the goods being purchased.
If supported, this description will be displayed on the authentication UI presented to the payer.
Data can consist of any characters
CONDITIONAL
This parameter group is only applicable if you are subject to the Regulatory Technical Standards (RTS) requirements for Strong Customer Authentication (SCA) under the Payment Services Directive 2 (PSD2) regulations in the European Economic Area.
It provides details about SCA exemptions under PSD2.
Enumeration
CONDITIONAL
Indicates why this payment qualifies for exemption from Strong Customer Authentication (SCA) under the Payment Services Directive 2 (PSD2).
Note:
- For recurring payments provide the RECURRING_PAYMENT value only if the amount is the same. If the amount varies, provide MERCHANT_INITIATED_TRANSACTION instead.
Value must be a member of the following list. The values are case sensitive.
LOW_RISK
Exemption is claimed because the acquirer has a low fraud rate.
LOW_VALUE_PAYMENT
Exemption is claimed as the amount is below 30 Euro.
MERCHANT_INITIATED_TRANSACTION
The transaction is excluded as it was initiated by the merchant based on an agreement with the payer. For example, a recurring payment (for a varied or fixed amount), installment payment, or account top-up. In these cases, the payer is not present and cannot participate in an authentication interaction. Merchant initiated transactions are only applicable to subsequent transactions on the order and are out of scope of the PSD2 RTS on Strong Customer Authentication (SCA). The payer must be authenticated during the first transaction that established the agreement.
NONE
An exemption is not claimed for this transaction. The merchant requires Strong Customer Authentication (SCA) be performed.
RECURRING_PAYMENT
The transaction is exempt as it was initiated by the merchant based on an agreement with the payer for a recurring payment for a fixed amount. This value is only applicable to subsequent transactions on the order. In this case, the payer is not present and cannot participate in an authentication interaction. The payer must be authenticated during the first transaction that established the agreement.
SCA_DELEGATION
The transaction is exempt as the issuer has delegated Strong Customer Authentication (SCA) using a compliant method to a third party. For example, the payer was subject to SCA when a card was enrolled with a wallet provider or SCA was delegated to the merchant.
SECURE_CORPORATE_PAYMENT
The transaction is exempt as it is a corporate or Business-to-Business (B2B) payment performed using dedicated payment processes and protocols that are not available to consumers and offer at least equivalent security levels.
WHITELISTED_MERCHANT
The transaction is exempt because the payer has added you to the list of their trusted merchants (as maintained by the issuer).
Enumeration
CONDITIONAL
Indicates the context in which payer authentication is being requested.
If you do not provide a value, the gateway will use PAYMENT_TRANSACTION as the default.
Note:
- • If you set this value to ADD_CARD or MAINTAIN_CARD, then set order.amount to zero and order.currency to any currency you support.
- • If the authentication scheme that applies to the account does not support the purpose that you have requested, this call will return an authenticationStatus of AUTHENTICATION_NOT_SUPPORTED.
Value must be a member of the following list. The values are case sensitive.
ADD_CARD
Authentication performed before a payer's card is stored on file either directly by the merchant or using the gateway's tokenization feature. A payment is not being processed.
MAINTAIN_CARD
Authentication performed before updating details of a payer's card stored on file either directly by the merchant or using the gateway's tokenization feature. A payment is not being processed.
PAYMENT_TRANSACTION
Authentication performed when of processing a card payment.
Url
CONDITIONAL
The URL to which you want to redirect the payer after completing the payer authentication process.
This will be a URL on your website, with the URL encoded as defined in RFC3986. This means special characters such spaces, hyphens, etc must be encoded.
You must provide this URL, unless you are certain that there will be no interaction with the payer.
Ensure that the URL begins with 'https' and is longer than 11 characters.
String
CONDITIONAL
The transactionId you used for the Initiate Authentication operation.
Data can consist of any characters
CONDITIONAL
Authorisation response fields for a standalone capture request.
String
CONDITIONAL
Indicates the card level result returned by the issuer.
Data can consist of any characters
String
CONDITIONAL
CSC Incorrect Indicator.
An indicator, provided by the Issuer in the authorization response, to identify the presence of an invalid card security code (CSC). If there is an error, the Issuer will respond with the 1-byte CSC Error Code (Y).
Data can consist of any characters
Alphanumeric
CONDITIONAL
An Indicator, if a Card security code was provided for the Transaction, as returned by the acquirer.
Data may consist of the characters 0-9, a-z, A-Z
String
CONDITIONAL
Indicates if the card used is a commercial card.
Data can consist of any characters
String
CONDITIONAL
Indicates the type of commercial card as returned by the card issuer.
Data can consist of any characters
String
CONDITIONAL
Indicates the code of the financial network that was used to process the transaction with the issuer.
Data can consist of any characters
Date
CONDITIONAL
The date for the Authorization as returned by the financial network.
For transactions processed via the MasterCard Network this is the MasterCard Network Reference Date.
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
String
CONDITIONAL
Indicates the market or the industry associated with the payment.
For example, B may indicate "bill payment" depending on the acquirer.
Data can consist of any characters
String
CONDITIONAL
Identifies the type of Card Transaction sent to Card Acceptor.
Data can consist of any characters
String
CONDITIONAL
The response code which indicates the status of the transaction.
Data can consist of any characters
String
CONDITIONAL
The ACI (Authorization Characteristics Indicator) returned by the issuer.
Data can consist of any characters
String
CONDITIONAL
Indicates the magnetic stripe condition and the vulnerability for fraud in Discover Network Card Transactions.
Data can consist of any characters
String
CONDITIONAL
The unique identifier for the transaction returned by the issuer.
Data can consist of any characters
Alphanumeric
CONDITIONAL
The Transaction Integrity Class (TIC) is an indicator defined by the scheme to evaluate the safety and security of the transaction.
The indicator is only supported by some schemes and for all regions.
Data may consist of the characters 0-9, a-z, A-Z
String
CONDITIONAL
The validation code returned by the issuer.
This value must be stored to be sent with the capture transaction.
Data can consist of any characters
CONDITIONAL
Information associated with the customer's source of transaction.
CONDITIONAL
Information about the customer's account with you
CONDITIONAL
Information about how you authenticated the payer.
Enumeration
CONDITIONAL
The method you used to authenticate the payer.
Value must be a member of the following list. The values are case sensitive.
CUSTOMER_ACCOUNT_LOGIN
The merchant authenticated the payer using a credential system (for example,password) that they manage.
FEDERATED_IDENTITY_LOGIN
The merchant authenticated the payer using a federated identity management service such as Google or Facebook
FIDO_AUTHENTICATION
The merchant authenticated the payer using hardware, mobile, or biometrics based authentication that is compliant with FIDO Alliance specifications.
ISSUER_ACCOUNT_LOGIN
The merchant authenticated the payer using a credential system for example, password) managed by the issuer.
NONE
The merchant did not authenticate the payer.
THIRD_PARTY_ACCOUNT_LOGIN
The merchant authenticated the payer using a credential system managed by a third party.
DateTime
CONDITIONAL
The data and time you authenticated the payer using the method specified in customer.account.authentication.method.
You must provide the authentication time if you authenticated the payer.
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
CONDITIONAL
Information about the payer's historical activity related to their customer account with you.
Integer
CONDITIONAL
Number of times the account holder has tried to add or change their card over the last 24 hours.
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
Integer
CONDITIONAL
The number of transactions (successful and abandoned) that have been requested in the last year for all payment methods stored against this customer account.
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
Date
CONDITIONAL
The date the payer created an account with you.
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
CONDITIONAL
Information about the payer authentication performed for a previous transaction with you.
String
CONDITIONAL
The unique transaction identifier used by the issuer's Access Control Server (ACS) to identify the transaction.
If you are processing a recurring payment, then provide the transaction acsTransactionId for the transaction where the payer was authenticated.
Data can consist of any characters
DateTime
CONDITIONAL
The date and time the payer was authenticated for the prior transaction.
If you are processing a recurring payment, then provide the time and date for the transaction where the payer was authenticated.
An instant in time expressed in ISO8601 date + time format - "YYYY-MM-DDThh:mm:ss.SSSZ"
Enumeration
CONDITIONAL
The method used to authenticate the payer for a prior transaction with you.
Value must be a member of the following list. The values are case sensitive.
3DS_FRICTIONLESS
3DS authentication was performed without payer interaction.
3DS_CHALLENGE
3DS authentication was performed and the payer was challenged for additional information.
ADDRESS_VERIFICATION
The issuer verifed the billing address provided by the payer. 3DS authentication was not used.
OTHER
The issuer verifed the payer using another method.
Date
CONDITIONAL
The date the payer's account with you was last updated.
For example, they changed address details or changed card details.
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
Date
CONDITIONAL
The date the payer last changed the password for their account with you.
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
Integer
CONDITIONAL
The number of transactions (successful and abandoned) that have been requested in the last 24 hours for all payment methods stored against this customer account.
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
Date
CONDITIONAL
The date you first shipped goods to the payer's shipping address provided in the shipping.address parameter group.
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
Boolean
CONDITIONAL
Have you experienced suspicious or fraudulent activity on the account in the past.
JSON boolean values 'true' or 'false'.
String
CONDITIONAL
Your identifier for the payer's account with you.
This should be an immutable identifier, rather than the customer's name, email or such data that could be changed by the customer.
Data can consist of any characters
String
CONDITIONAL
The telephone number captured by ANI (Automatic Number Identification) when the customer calls to place the order.
Data can consist of any characters
String
CONDITIONAL
The 2 digit ANI information identifier provided by the telephone company to indicate the call type, for example, cellular (61-63), toll free (24,25), etc.
Data can consist of any characters
String
CONDITIONAL
The User-Agent header of the browser the customer used to place the order.
For example, MOZILLA/4.0 (COMPATIBLE; MSIE 5.0; WINDOWS 95)
Data can consist of any characters
Date
CONDITIONAL
The payer's date of birth.
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
Email
CONDITIONAL
The email address of the customer.
The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
String
CONDITIONAL
The payer's first name.
Data can consist of any characters
String
CONDITIONAL
The name of the server to which the customer is connected.
Data can consist of any characters
String
CONDITIONAL
The IP address of the computer used by the customer, in nnn.nnn.nnn.nnn format.
Data can consist of any characters
String
CONDITIONAL
The payer's last or surname.
Data can consist of any characters
Telephone Number
CONDITIONAL
The payer's mobile phone or cell phone number in ITU-T E123 format, for example +1 607 1234 5678
The number consists of:
- '+'
- country code (1, 2 or 3 digits)
- 'space'
- national number ( which may embed single spaces characters for readability).
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
String
CONDITIONAL
An identifier for the payer assigned by a government authority.
For example, in Mexico this could be the CURP (Clave Única de Registro de Población), RFC (Registro Federal del Contribuyente), or INE (Instituto Nacional Electoral) number. In Brazil this could be the CPF (Cadastro de Pessoas Físicas) or CNPJ (Cadastro Nacional de Pessoas Jurídicas).
Data can consist of any characters
Telephone Number
CONDITIONAL
The payer's phone number in ITU-T E123 format, for example +1 607 1234 456
The number consists of:
- '+'
- country code (1, 2 or 3 digits)
- 'space'
- national number ( which may embed single spaces characters for readability).
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
String
CONDITIONAL
The tax registration identifier of the customer.
Data can consist of any characters
CONDITIONAL
Details about debt repayment transactions.
If your Merchant Category Code is 6012 (Merchandise and Services—Customer Financial Institutions) or 6051 ( (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency)) you may be required to provide some or all the details in this parameter group when submitting a debt repayment transaction.
Boolean
CONDITIONAL
Use this field to indicate if the transaction is for a debt repayment.
If your Merchant Category Code is 6012 (Merchandise and Services—Customer Financial Institutions) or 6051 ( (Non-Financial Institutions – Foreign Currency, Non-Fiat Currency)) you must provide this field when submitting a debt repayment transaction.
JSON boolean values 'true' or 'false'.
CONDITIONAL
Details about the recipient of the payment and the destination account for the payment.
String
CONDITIONAL
The account identifier for the payment recipient's account.
For payments into a card account provide the card number. For payments into other accounts (for example a bank account) provide the account number. The value provided will be returned masked in the response.
Data can consist of any characters
Date
CONDITIONAL
The date of birth of the primary payment recipient in yyyy-mm-dd format.
Data must comply with ISO 8601 extended date format, yyyy-mm-dd
String
CONDITIONAL
Last name of the primary payment recipient.
Data can consist of any characters
String
CONDITIONAL
Postcode of the primary payment recipient.
Data can consist of any characters
CONDITIONAL
Information about the device used by the payer for this transaction.
String
CONDITIONAL
The telephone number captured by ANI (Automatic Number Identification) when the customer calls to place the order.
Data can consist of any characters
String
CONDITIONAL
The 2 digit ANI information identifier provided by the telephone company to indicate the call type, for example, cellular (61-63), toll free (24,25), etc.
Data can consist of any characters
String
CONDITIONAL
The User-Agent header of the browser the customer used to place the order.For example, MOZILLA/4.0 (COMPATIBLE; MSIE 5.0; WINDOWS 95)
You must provide a value in this field if you are performing 3-D Secure authentication of the payer and set authentication.channel = PAYER_BROWSER.
Data can consist of any characters
CONDITIONAL
Detailed information about the payer's browser.
If you are using 3-D Secure authentication to authenticate the payer, then this information is used by the issuer's Access Control Server (ACS) to identify the capabilities of the payers browser so that it can render content appropriately when authenticating the payer.
You must provide values for fields in this parameter group if you are performing 3-D Secure authentication of the payer and set authentication.channel = PAYER_BROWSER.
Enumeration
CONDITIONAL
Dimensions of the challenge window (in width x height in pixels) displayed to the payer during 3D-Secure authentication.
This must be provided for authentication operations where authentication.channel is PAYER_BROWSER.
Value must be a member of the following list. The values are case sensitive.
250_X_400
390_X_400
500_X_600
600_X_400
FULL_SCREEN
String
CONDITIONAL
The content of the Accept request-header field as sent from the payer's browser.
This is used to determine which content types are supported by the browser.
This must be provided for authentication operations where authentication.channel is PAYER_BROWSER.
Data can consist of any characters
Integer
CONDITIONAL
The bit depth (in bits per pixel) of the color palette for displaying images.
You obtain this value from the screen.colorDepth property of the payer's browser.
This must be provided for authentication operations where authentication.channel is PAYER_BROWSER.
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
Boolean
CONDITIONAL
Indicates whether or not the payer's browser supports Java.
You obtain this value from the navigator.javaEnabled property of the payer's browser
This must be provided for authentication operations where authentication.channel is PAYER_BROWSER.
JSON boolean values 'true' or 'false'.
Boolean
CONDITIONAL
Indicates whether or not the payer's browser supports JavaScript.
You can determine this by setting the relevant value in a form to false, and then attempting to update it to true using JavaScript.
JSON boolean values 'true' or 'false'.
String
CONDITIONAL
The language supported for the payer's browser as defined in IETF BCP47.
You obtain this value from the navigator.language property of the payer's browser.
This must be provided for authentication operations where authentication.channel is PAYER_BROWSER.
Data can consist of any characters
Integer
CONDITIONAL
The total height of the payer's browser screen in pixels.
You obtain this value from the screen.height property of the payer's browser
This must be provided for authentication operations where authentication.channel is PAYER_BROWSER.
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
Integer
CONDITIONAL
The total width of the payer's browser screen in pixels.
You obtain this value from the screen.width property of the payer's browser
This must be provided for authentication operations where authentication.channel is PAYER_BROWSER.
JSON number data type, restricted to being positive or zero. In addition, the represented number may have no fractional part.
Browser Time Zone Offset
CONDITIONAL
Time difference between UTC time and the Cardholder browser local time, in minutes.
The time zone offset is the difference, in minutes, between UTC and local time. Note that this means that the offset is positive if the local time zone is behind UTC and negative if it is ahead. For example, for time zone UTC+10:00 (Australian Eastern Standard Time, Vladivostok Time, Chamorro Standard Time), -600 would be presented.
This must be provided for authentication operations where authentication.channel is PAYER_BROWSER.
Browser time zone offset between -840 to +840.
String
CONDITIONAL
Information collected about a remote computing device for the purpose of providing a unique identifier for the device.
For example, session ID, blackbox ID.
Data can consist of any characters
String
CONDITIONAL
The name of the server to which the customer is connected.
Data can consist of any characters
String
CONDITIONAL
The IP address of the device used by the payer, in nnn.nnn.nnn.nnn format.
Data can consist of any characters
String
CONDITIONAL
The mobile phone manufacturer's identifier for the model of the mobile device used to initiate the payment.
Data can consist of any characters
Enumeration
CONDITIONAL
The interface through which the transaction is submitted to the gateway.
Value must be a member of the following list. The values are case sensitive.
AUTO
The transaction was automatically generated by the gateway. For example, a Capture transaction for Auto-Capture or an order reversal transaction for risk rejected orders.
BATCH
The transaction was submitted as part of a merchant batch. Batches can either be uploaded via Batch or via Merchant Administration.
CHECKOUT
The transaction was created via checkout integration.
MERCHANT_ADMINISTRATION
The transaction was initiated in the Merchant Administration.
SERVICE_PROVIDER_API
The transaction was reported by an acquirer or alternate payment provider.
WEB_SERVICES_API
The transaction was submitted via Web Services API.
String
CONDITIONAL
Your payment service provider might have configured your merchant profile to support several lines of business.
Each line of business can have different payment parameters, such as bank account, supported cards or such.
For example, lineOfBusiness = TICKET_SALES can have a different bank account from lineOfBusiness = MERCHANDISING. One line of business on your profile might be "null". To use that, do not provide the lineOfBusiness field.
Data can consist of any characters except space
String
CONDITIONAL
A language identifier or IETF language tag to control the language of the payment interaction with the payer (e.g. en_US, es, fr-CA).
By default, the language is determined from your configuration. Supply a value for this field only if you wish to override the default behavior. If the language you specify is not supported by the gateway, the payment is displayed in the best matching language.
See Dynamic Currency Conversion for more detail.
Data must be a language identifier or IETF language tag
Alphanumeric + additional characters
ALWAYS PROVIDED
The unique identifier issued to you by your payment provider.
This identifier can be up to 12 characters in length.
Data may consist of the characters 0-9, a-z, A-Z, '-', '_'
CONDITIONAL
Container for fields that control the response returned for the request.
String
CONDITIONAL
Indicates how sensitive data is returned in the response.
Data can consist of any characters
Enumeration
ALWAYS PROVIDED
A system-generated high level overall result of the operation.
Value must be a member of the following list. The values are case sensitive.
ERROR
ERROR
SUCCESS
SUCCESS
ASCII Text
ALWAYS PROVIDED
session carrying the details to be used by the operation rather than the details being provided in the request.
The payment details collected at the wallet provider will be stored against this session.
Data consists of ASCII characters
ASCII Text
ALWAYS PROVIDED
Use this field to implement optimistic locking of the session content.
Do this if you make business decisions based on data from the session and wish to ensure that the same data is being used for the request operation.
To use optimistic locking, record session.version when you make your decisions, and then pass that value in session.version when you submit your request operation to the gateway.
See Making Business Decisions Based on Session Content.
Data consists of ASCII characters
CONDITIONAL
Shipping information for this order.
CONDITIONAL
The address to which this order will be shipped.
String
CONDITIONAL
The city portion of the address.
Data can consist of any characters
String
CONDITIONAL
The name of the company associated with this address.
Data can consist of any characters
Upper case alphabetic text
CONDITIONAL
The 3 letter ISO standard alpha country code of the address.
Data must consist of the characters A-Z
Alphanumeric + additional characters
CONDITIONAL
The post code or zip code of the address.
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
Enumeration
CONDITIONAL
Indicates whether the shipping address provided is the same as the payer's billing address.
Provide this value if you are not providing the full shipping and billing addresses, but you can affirm that they are the same or different.
The default value for this field is:
SAME - if the shipping and billing address are supplied, and all fields are the same (ignoring non-alphanumerics).
DIFFERENT - if the shipping and billing address are supplied, and at least one field is different (ignoring non-alphanumerics).
UNKNOWN - either shipping address or billing address is absent.
Value must be a member of the following list. The values are case sensitive.
DIFFERENT
The shipping and billing addresses are different.
SAME
The shipping and billing addresses are the same.
UNKNOWN
It is not known if the shipping and billing addresses are the same.
Enumeration
CONDITIONAL
How you obtained the shipping address.
Value must be a member of the following list. The values are case sensitive.
ADDRESS_ON_FILE
Order shipped to an address that you have on file.
NEW_ADDRESS
Order shipped to an address provided by the payer for this transaction.
String
CONDITIONAL
The state or province of the address.
Data can consist of any characters
String
CONDITIONAL
The three character ISO 3166-2 country subdivision code for the state or province of the address.
Providing this field might improve your payer experience for 3-D Secure payer authentication.
Data can consist of any characters
String
CONDITIONAL
The first line of the address.
For example, this may be the street name and number, or the Post Office Box details.
Data can consist of any characters
String
CONDITIONAL
The second line of the address (if provided).
Data can consist of any characters
CONDITIONAL
Details of the contact person at the address the goods will be shipped to.
Email
CONDITIONAL
The contact person's email address.
The field format restriction ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses.
Ensures that the email address is longer than 3 characters and adheres to a generous subset of valid RFC 2822 email addresses
String
CONDITIONAL
The first name of the person to whom the order is being shipped.
Data can consist of any characters
String
CONDITIONAL
The last name or surname of the person to whom the order is being shipped.
Data can consist of any characters
Telephone Number
CONDITIONAL
The contact person's mobile phone or cell phone number in ITU-T E123 format, for example +1 607 1234 5678
The number consists of:
- '+'
- country code (1, 2 or 3 digits)
- 'space'
- national number ( which may embed single spaces characters for readability).
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
Telephone Number
CONDITIONAL
The contact person's phone number in ITU-T E123 format, for example +1 607 1234 456
The number consists of:
- '+'
- country code (1, 2 or 3 digits)
- 'space'
- national number ( which may embed single spaces characters for readability).
Data consists of '+', country code (1, 2 or 3 digits), 'space', and national number (which may embed single space characters for readability)
Enumeration
CONDITIONAL
Indicates whether the supplied name for the recipient of shipping matches the cardholder name.
Provide this value if you are not providing the full name or cardholder name, but you can affirm that they are the same or different.
Default value is UNKNOWN
Value must be a member of the following list. The values are case sensitive.
DIFFERENT
The shipping and billing addresses are different.
SAME
The shipping and billing addresses are the same.
UNKNOWN
It is not known if the shipping and billing addresses are the same.
Enumeration
CONDITIONAL
The shipping method used for delivery of this order.
Value must be a member of the following list. The values are case sensitive.
ELECTRONIC
Electronic delivery.
GROUND
Ground (4 or more days).
NOT_SHIPPED
Order for goods that are not shipped (for example, travel and event tickets)
OVERNIGHT
Overnight (next day).
PICKUP
Shipped to a local store for pick up.
PRIORITY
Priority (2-3 days).
SAME_DAY
Same day.
Alphanumeric + additional characters
CONDITIONAL
The post code or zip code of the address the order is shipped from.
Data may consist of the characters 0-9, a-z, A-Z, ' ', '-'
CONDITIONAL
Information about this transaction.
CONDITIONAL
Additional information to be passed to acquirer.
String
CONDITIONAL
Additional information requested by the acquirer which cannot be passed using other available data fields.
This field must not contain sensitive data.
Data can consist of any characters, but sensitive data will be rejected
String
CONDITIONAL
The unique identifier that allows the issuer to link related transactions.
For example, linking a Refund to an Authorization or linking merchant-initiated payments in a series. For a subsequent Refund the gateway automatically submits the Trace ID of the Authorization to the acquirer (where supported). However, you must provide this field for a standalone Refund. For merchant-initiated payments in a series the gateway automatically submits the correct Trace ID to the acquirer (where supported). However, you must provide this field, if you are submitting any of the payments in the series to the acquirer without using the gateway. In this case you must follow the instructions in the Visa documentation for the 'transaction identifier' or the Mastercard documentation for the 'trace identifier' field. If you provide the Trace ID for a payment in a series of merchant-initiated payments, the gateway will use this value in preference to the gateway's selected value.
Data can consist of any characters, but sensitive data will be rejected
String
CONDITIONAL
This is the value provided to the acquirer to identify the order.
Ideally this will be the order.id, however if that value cannot be used directly, it will be transformed by the gateway to a unique value that the acquirer will accept. If that behavior is not suitable, you can directly provide the value in this field and it will be passed to the acquirer. You then take responsibility for its correctness. (Note: Contact your payment provider to see if this is supported for your acquirer).
Data can consist of any characters, but sensitive data will be rejected
Comma separated enumeration
CONDITIONAL
The action you want the gateway to take if you submit a capture amount that is different from the outstanding authorization amount for the order.
You only need to provide a value if you want to restrict the action taken and understand the relevant scheme rules.
The default value for this field is INCREMENT. In this case, the gateway will automatically submit an update authorization request to the acquirer if the requested capture amount exceeds the outstanding authorized amount. If the update was successfully authorized, the gateway then attempts the capture.
Set this value to NO_ACTION to prevent the gateway performing any authorization adjustments.
Note: You might need your payment service provider to enable these capabilities on your gateway merchant profile.
Value must be one or more comma separated members of the following list. The values are case sensitive.
INCREMENT
Increase the authorized amount to match the total capture amount.
NO_ACTION
Do not perform any authorization adjustments.
Alphanumeric
CONDITIONAL
Value generated by the issuing bank in response to a proposal to transfer funds.
Data may consist of the characters 0-9, a-z, A-Z
Decimal
CONDITIONAL
The total amount deducted from the transaction amount that would normally apply.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
String
CONDITIONAL
Unique identifier for this transaction to distinguish it from any other transaction on the order.
An order can have transactions representing:
- Movement of money. For example, payments and refunds.
- Validations. For example, account verification or 3-D Secure authentication of the payer.
- Undoing other transactions. For example, voiding a payment transaction.
- Chargebacks.
- Fees from your payment service provider.
If you attempt an operation and it fails (eg you try to PAY on a card with no funds), then you need a new id for each retry.
Data can consist of any characters
CONDITIONAL
Information about the items the payer purchases with the order.
String
CONDITIONAL
The brand of the item.
For example, Dell.
Data can consist of any characters
String
CONDITIONAL
Your category for the item.
Data can consist of any characters
String
CONDITIONAL
Description for the item with information such as size, color, etc.
For example, 'Color:Red, Size:M'
Data can consist of any characters
CONDITIONAL
Only use this parameter group to provide additional line item details required for a better interchange rate for Purchasing Cards, Business and/or Corporate Cards (Level 3).
Check with your payment service provider if Level 3 data is supported for your acquirer.
JSON Text
CONDITIONAL
Use this field to provide line item details that your acquirer requires you to provide.
Data must be provided in JSON format using the record name and field name (separated by a comma) to identify the value provided. Contact your payment service provider for details about the supported fields including the field definitions.
Data is valid Json Format
Digits
CONDITIONAL
A code describing a commodity or a group of commodities pertaining to goods classification.
Data is a number between 1 and 9999999999999999 represented as a string.
CONDITIONAL
Information about the taxes per line item.
Decimal
CONDITIONAL
The tax amount for the tax type defined in order.item[n].detail.tax[m].type for the item.
Note that the tax amount provided must reflect the tax amount applied before a discount was applied.
Data is a string that consists of the characters 0-9, '.' and '-' and represents a valid decimal number.
Decimal
CONDITIONAL
The tax rate (percentage) applied to the item for the tax type defined in order.item[n].detail.tax[m].type.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
String
CONDITIONAL
The tax type for which the amount specified under order.item[n].detail.tax[m].amount has been paid for this item.
The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Data can consist of any characters
Decimal
CONDITIONAL
The discount rate (percentage) applied to this item.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
Decimal
CONDITIONAL
The tax rate (percentage) of the tax charged for this item.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
String
CONDITIONAL
The type of tax charged for this item.
The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Data can consist of any characters
Digits
CONDITIONAL
The United Nations Standard Products and Services Code (UNSPSC) for the item.
Data is a number between 1 and 9999999999999999 represented as a string.
Digits
CONDITIONAL
The Universal Product Code (UPC) for the item.
Data is a number between 1 and 9999999999999999 represented as a string.
Enumeration
CONDITIONAL
Provide the industry category to send this line item to your acquirer for specialized processing as industry data.
Such processing might have legal obligations, which are your responsibility. Do not provide an industry category, unless you are certain it applies to you, and is accepted by your acquirer.
We support the following industry standard processing:US health care processing using the IIAS standard.The supported values for this field are:HEALTHCARE_VISION, HEALTHCARE_DENTAL, HEALTHCARE_PRESCRIPTION, HEALTHCARE_OTHERWe formulate an IIAS message by summing the amounts of all the line items with the same industry category. The amount of a line item is computed as:(order.item.unitPrice + order.item.tax) * order.item.quantity
Value must be a member of the following list. The values are case sensitive.
String
CONDITIONAL
A short name describing the item.
Data can consist of any characters
Decimal
CONDITIONAL
The quantity of the item.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number greater than zero.
String
CONDITIONAL
The SKU (Stock Keeping Unit) or the item identifier for this item.
Data can consist of any characters
Decimal
CONDITIONAL
The discount amount applied to this item.
Data is a string that consists of the characters 0-9, '.' and '-' and represents a valid decimal number.
String
CONDITIONAL
The unit of measure used for the item quantity.
The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Data can consist of any characters
Decimal
CONDITIONAL
The cost price for the item.
This amount is multiplied with the item quantity (item.quantity) to determine the total amount for this item (item.amount). This amount does not include the tax amount and/or discount amount applicable to this item.
Data is a string that consists of the characters 0-9, '.' and '-' and represents a valid decimal number.
Decimal
CONDITIONAL
The tax amount for the item.
This amount is multiplied with the item quantity (item.quantity) to determine the total tax amount for this item.
Data is a string that consists of the characters 0-9, '.' and '-' and represents a valid decimal number.
Decimal
CONDITIONAL
The total item amount for this transaction.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
String
CONDITIONAL
Your note about this transaction.
Data can consist of any characters
Enumeration
CONDITIONAL
Indicates that a transaction requires approval to proceed with the order.
Value must be a member of the following list. The values are case sensitive.
REQUESTED
Requested
String
CONDITIONAL
An optional identifier for this transaction.
Data can consist of any characters
Decimal
CONDITIONAL
The total shipping and handling amount for this transaction.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
String
CONDITIONAL
The identifier for the transaction you wish to refund.
That is the {transactionId} URL field for REST and the transaction.id field for NVP.
If you do not provide a target transaction ID the gateway will try to identify a transaction. If no transaction can be found or more than one transaction is identified, the request is rejected.
Data can consist of any characters
CONDITIONAL
Use this parameter group to provide a breakdown of tax types, amount per tax type, and rate per tax type included in transaction.taxAmount.
Decimal
CONDITIONAL
The tax amount included in this transaction for the tax type.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
Decimal
CONDITIONAL
The tax rate (percentage) used to determine the tax amount included in this transaction for the tax type.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
String
CONDITIONAL
The type of tax included in the transaction amount.
The correct value as used by your acquirer may have to be provided. Contact your payment service provider for details.
Data can consist of any characters
Decimal
CONDITIONAL
The total tax amount for the transaction.
You only need to provide this field when you capture or refund part of the order amount. In this case, the amount must not exceed order.taxAmount. If you provide this field when you capture or refund the full amount of the order, then the value provided must match order.taxAmount.
Data is a string that consists of the characters 0-9 and '.' and represents a valid decimal number.
Enumeration
CONDITIONAL
Indicates your tax status for this transaction.
Value must be a member of the following list. The values are case sensitive.
EXEMPT
Indicates that you are exempt from tax.
NOT_EXEMPT
Indicates that you are not exempt from tax.
NOT_PROVIDED
Indicates that you are not providing information about being exempt from tax.
Enumeration
CONDITIONAL
Indicates the channel through which you received authorization for the payment for this order from the payer.
For example, set this value to INTERNET if the payer initiated the payment online.
If you have an existing agreement with the payer that authorizes you to process this payment (for example, a recurring payment) then set this value to MERCHANT. You only need to provide transaction.source if you want to override the default value configured for your acquirer link.
Note:
- You can only override the default value if you have the requisite permission.
- The value you provide must match one of those configured by your payment service provider.
- You can only set the transaction source on the initial transaction on an order. It cannot be changed on subsequent transactions.
Value must be a member of the following list. The values are case sensitive.
CARD_PRESENT
Transaction where the card is presented to the merchant.
INTERNET
Transaction conducted over the Internet.
MOTO
Transaction received by mail or telephone.
String
CONDITIONAL
The person who initiated this transaction.
For Merchant Administration, the person is identified by their logon name.
Data can consist of any characters
Enumeration
CONDITIONAL
The strategy used to verify the payment instrument details before they are stored.
You only need to specify the verification strategy if you want to override the default value configured for your merchant profile. When the verification strategy is BASIC or ACQUIRER you must also provide the card expiry date in the sourceOfFunds.provided.card.expiry parameter group.
Used to nominate which type of Verification to use when payment instrument details are stored in the token repository. This setting overrides the default settings in Merchant Manager.
Value must be a member of the following list. The values are case sensitive.
ACQUIRER
The gateway performs a Web Services API Verify request. Depending on the payment type, you may need to provide additional details to enable the submission of a Verify request.
BASIC
The gateway verifies the syntax and supported ranges of the payment instrument details provided, .e.g for a card it validates the card number format and checks if the card number falls within a valid BIN range.
NONE
The gateway does not perform any validation or verification of the payment instrument details provided.
Errors
Information on possible error conditions that may occur while processing an operation using the API.
Enumeration
Broadly categorizes the cause of the error.
For example, errors may occur due to invalid requests or internal system failures.
Value must be a member of the following list. The values are case sensitive.
INVALID_REQUEST
The request was rejected because it did not conform to the API protocol.
REQUEST_REJECTED
The request was rejected due to security reasons such as firewall rules, expired certificate, etc.
SERVER_BUSY
The server did not have enough resources to process the request at the moment.
SERVER_FAILED
There was an internal system failure.
String
Textual description of the error based on the cause.
This field is returned only if the cause is INVALID_REQUEST or SERVER_BUSY.
Data can consist of any characters
String
Indicates the name of the field that failed validation.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Data can consist of any characters
String
Indicates the code that helps the support team to quickly identify the exact cause of the error.
This field is returned only if the cause is SERVER_FAILED or REQUEST_REJECTED.
Data can consist of any characters
Enumeration
Indicates the type of field validation error.
This field is returned only if the cause is INVALID_REQUEST and a field level validation error was encountered.
Value must be a member of the following list. The values are case sensitive.
INVALID
The request contained a field with a value that did not pass validation.
MISSING
The request was missing a mandatory field.
UNSUPPORTED
The request contained a field that is unsupported.
Enumeration
A system-generated high level overall result of the operation.
Value must be a member of the following list. The values are case sensitive.
ERROR
The operation resulted in an error and hence cannot be processed.